package cqrtplm.dto.thirdPartyAPI;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;

/**
 * @description: sap 订单接口返回参数实体类
 * @author: zhengxiong.jiang
 * @createDate: 2025-11-01
 * @version: 1.0
 */
@Data
public class RestAdapterEsReturDTO {


    @JsonProperty("es_RETURN")
    private ESRETURN es_RETURN;

    @JsonProperty("et_TAB")
    private ETTAB et_TAB;

    private RestAdapterQasDTO.ItVbeln IT_VBELN;

    private String IT_AUART;     // 订单类型
    private String IT_ERDAT;     // 创建日期
    private String IT_KUNNR;     // 客户编号
    private String IT_NAME2;     // 客户名称2
    private String IT_SPART;     // 产品组
    private String IT_VKBUR;     // 销售办公室
    private String IT_VKGRP;     // 销售组
    private String IT_VKORG;     // 销售组织
    private String IT_VTWEG;     // 分销渠道
    private String IT_ZERNAM;    // 创建人编号
    private String IT_ZNAME;     // 创建人姓名



    @Data
    public static class ESRETURN{

        private String TYPE;

        private String MESSAGE;

    }

    @Data
    public static class ETTAB{
        private List<Tab> item;
    }

    @Data
    public static class Tab{
        // 销售订单头信息
        private String VBELN;        // 销售订单号
        private String AUART;        // 订单类型
        private Integer VKORG;       // 销售组织
        private Integer VTWEG;       // 分销渠道
        private String VKBUR;        // 销售办公室
        private String VKGRP;        // 销售组
        private String KUNNR;        // 客户编号
        private String NAME2;        // 客户名称2
        private String NAME1;        // 客户名称1
        private String BSTKD;        // 客户参考
        private String WAERK;        // 订单币种
        private String ZERNAM;       // 创建人编号
        private String ZNAME;        // 创建人姓名
        private String ERDAT;        // 创建日期
        private String ZTERM;        // 付款条件
        private String TEXT_HEAD;    // 抬头文本
        private String ZSHDZ;        // 收货地址
        private String ZSHGS;        // 收货公司
        private String ZZDSCG;       // 到货港口
        private String ZZZXSG;       // 装运港口
        private String ZZZMDG;       // 目的港口
        private String ZYSFS;        // 运输方式

        // 销售订单行项目信息
        private String POSNR;        // 行项目号
        private String PSTYV;        // 项目类别
        private String VTEXT;        // 项目类别描述
        private String MATNR;        // 物料号
        private String ARKTX;        // 物料描述
        private Integer ZKHJX;       // 客户机型
        private String EDATU;        // 交货日期
        private String ZJX;          // 机型
        private Integer SPART;       // 产品组
        private String VTEXTX;       // 产品组描述
        private String TEXT_LINE;    // 行项目文本
        private String KWMENG;       // 订单数量
        private String VRKME;        // 销售单位
        private Integer WERKS;       // 工厂
        private String KBETR;        // 价格
        private String ABGRU;        // 拒绝原因
        private Integer ZKHPO;       // 客户PO
        private String ZFYPO;        // 飞音PO
        private String ZYJLB;        // 预警类别
        private Integer ZSFXP;       // 是否新品
        private String ZXPSSHH;      // 新品收货号
        private String ZXPBS;        // 新品标识
        private String ZMLL;         // 材料量
        private String ZLBH;         // 令号
        private String ZVMGZ;        // 制造工厂
        private String ZDLBOM;       // 独立BOM
        private String ZJZBOM;       // 集中BOM
        private Integer ZDJ;         // 单价
        private String ZSFBB;        // 是否版本
        private String ZBBSM;        // 版本说明
        private String ZGZSM;        // 故障说明
        private String ZBHDSM;       // 报废说明
        private String ZGLDD;        // 工令订单
        private String ZGLDDHH;      // 工令订单行号

        // 生产订单信息
        private String AUFNR;        // 生产订单号
        private String GSTRP;        // 基本开始日期
        private String GLTRP;        // 基本完成日期
        private String FTRMI;        // 实际开始日期
        private String GAMNG;        // 订单数量
        private String GMNGA_Q1;     // 第一道工序数量
        private String BUDAT_Q1;     // 第一道工序过账日期
        private String GMNGA_Q2;     // 第二道工序数量
        private String GMNGA_Q3;     // 第三道工序数量
        private String BUDAT_Q3;     // 第三道工序过账日期

        // 交货和发票信息
        private String MENGE;        // 订单数量（重复字段）
        private Integer KALAB;       // 状态
        private String LFIMG;        // 实际交货数量
        private String WADAT_IST;    // 实际交货日期
        private String FKLMG;        // 开票数量
        private Double KZWI1;        // 订单净值
        private String IFOK;         // 接口状态
    }

}
